package com.TTBook.core.system.model;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class SysParamsCriteria {
	protected String orderByClause;

	protected List oredCriteria;

	public SysParamsCriteria() {
		oredCriteria = new ArrayList();
	}

	protected SysParamsCriteria(SysParamsCriteria example) {
		this.orderByClause = example.orderByClause;
		this.oredCriteria = example.oredCriteria;
	}

	public void setOrderByClause(String orderByClause) {
		this.orderByClause = orderByClause;
	}

	public String getOrderByClause() {
		return orderByClause;
	}

	public List getOredCriteria() {
		return oredCriteria;
	}

	public void or(Criteria criteria) {
		oredCriteria.add(criteria);
	}

	public Criteria createCriteria() {
		Criteria criteria = createCriteriaInternal();
		if (oredCriteria.size() == 0) {
			oredCriteria.add(criteria);
		}
		return criteria;
	}

	protected Criteria createCriteriaInternal() {
		Criteria criteria = new Criteria();
		return criteria;
	}

	/**
	 * This method was generated by Apache iBATIS ibator. This method
	 * corresponds to the database table sys_params
	 * 
	 * Tue Oct 15 10:45:54 CST 2013
	 */
	public void clear() {
		oredCriteria.clear();
	}

	public static class Criteria {
		protected List criteriaWithoutValue;

		protected List criteriaWithSingleValue;

		protected List criteriaWithListValue;

		protected List criteriaWithBetweenValue;

		protected Criteria() {
			super();
			criteriaWithoutValue = new ArrayList();
			criteriaWithSingleValue = new ArrayList();
			criteriaWithListValue = new ArrayList();
			criteriaWithBetweenValue = new ArrayList();
		}

		public boolean isValid() {
			return criteriaWithoutValue.size() > 0
					|| criteriaWithSingleValue.size() > 0
					|| criteriaWithListValue.size() > 0
					|| criteriaWithBetweenValue.size() > 0;
		}

		public List getCriteriaWithoutValue() {
			return criteriaWithoutValue;
		}

		public List getCriteriaWithSingleValue() {
			return criteriaWithSingleValue;
		}

		public List getCriteriaWithListValue() {
			return criteriaWithListValue;
		}

		public List getCriteriaWithBetweenValue() {
			return criteriaWithBetweenValue;
		}

		protected void addCriterion(String condition) {
			if (condition == null) {
				throw new RuntimeException("Value for condition cannot be null");
			}
			criteriaWithoutValue.add(condition);
		}

		protected void addCriterion(String condition, Object value,
				String property) {
			if (value == null) {
				throw new RuntimeException("Value for " + property
						+ " cannot be null");
			}
			Map map = new HashMap();
			map.put("condition", condition);
			map.put("value", value);
			criteriaWithSingleValue.add(map);
		}

		protected void addCriterion(String condition, List values,
				String property) {
			if (values == null || values.size() == 0) {
				throw new RuntimeException("Value list for " + property
						+ " cannot be null or empty");
			}
			Map map = new HashMap();
			map.put("condition", condition);
			map.put("values", values);
			criteriaWithListValue.add(map);
		}

		protected void addCriterion(String condition, Object value1,
				Object value2, String property) {
			if (value1 == null || value2 == null) {
				throw new RuntimeException("Between values for " + property
						+ " cannot be null");
			}
			List list = new ArrayList();
			list.add(value1);
			list.add(value2);
			Map map = new HashMap();
			map.put("condition", condition);
			map.put("values", list);
			criteriaWithBetweenValue.add(map);
		}

		public Criteria andInnerNameIsNull() {
			addCriterion("INNER_NAME is null");
			return this;
		}

		public Criteria andInnerNameIsNotNull() {
			addCriterion("INNER_NAME is not null");
			return this;
		}

		public Criteria andInnerNameEqualTo(String value) {
			addCriterion("INNER_NAME =", value, "innerName");
			return this;
		}

		public Criteria andInnerNameNotEqualTo(String value) {
			addCriterion("INNER_NAME <>", value, "innerName");
			return this;
		}

		public Criteria andInnerNameGreaterThan(String value) {
			addCriterion("INNER_NAME >", value, "innerName");
			return this;
		}

		public Criteria andInnerNameGreaterThanOrEqualTo(String value) {
			addCriterion("INNER_NAME >=", value, "innerName");
			return this;
		}

		public Criteria andInnerNameLessThan(String value) {
			addCriterion("INNER_NAME <", value, "innerName");
			return this;
		}

		public Criteria andInnerNameLessThanOrEqualTo(String value) {
			addCriterion("INNER_NAME <=", value, "innerName");
			return this;
		}

		public Criteria andInnerNameLike(String value) {
			addCriterion("INNER_NAME like", value, "innerName");
			return this;
		}

		public Criteria andInnerNameNotLike(String value) {
			addCriterion("INNER_NAME not like", value, "innerName");
			return this;
		}

		public Criteria andInnerNameIn(List values) {
			addCriterion("INNER_NAME in", values, "innerName");
			return this;
		}

		public Criteria andInnerNameNotIn(List values) {
			addCriterion("INNER_NAME not in", values, "innerName");
			return this;
		}

		public Criteria andInnerNameBetween(String value1, String value2) {
			addCriterion("INNER_NAME between", value1, value2, "innerName");
			return this;
		}

		public Criteria andInnerNameNotBetween(String value1, String value2) {
			addCriterion("INNER_NAME not between", value1, value2, "innerName");
			return this;
		}

		public Criteria andOuterNameIsNull() {
			addCriterion("OUTER_NAME is null");
			return this;
		}

		public Criteria andOuterNameIsNotNull() {
			addCriterion("OUTER_NAME is not null");
			return this;
		}

		public Criteria andOuterNameEqualTo(String value) {
			addCriterion("OUTER_NAME =", value, "outerName");
			return this;
		}

		public Criteria andOuterNameNotEqualTo(String value) {
			addCriterion("OUTER_NAME <>", value, "outerName");
			return this;
		}

		public Criteria andOuterNameGreaterThan(String value) {
			addCriterion("OUTER_NAME >", value, "outerName");
			return this;
		}

		public Criteria andOuterNameGreaterThanOrEqualTo(String value) {
			addCriterion("OUTER_NAME >=", value, "outerName");
			return this;
		}

		public Criteria andOuterNameLessThan(String value) {
			addCriterion("OUTER_NAME <", value, "outerName");
			return this;
		}

		public Criteria andOuterNameLessThanOrEqualTo(String value) {
			addCriterion("OUTER_NAME <=", value, "outerName");
			return this;
		}

		public Criteria andOuterNameLike(String value) {
			addCriterion("OUTER_NAME like", value, "outerName");
			return this;
		}

		public Criteria andOuterNameNotLike(String value) {
			addCriterion("OUTER_NAME not like", value, "outerName");
			return this;
		}

		public Criteria andOuterNameIn(List values) {
			addCriterion("OUTER_NAME in", values, "outerName");
			return this;
		}

		public Criteria andOuterNameNotIn(List values) {
			addCriterion("OUTER_NAME not in", values, "outerName");
			return this;
		}

		public Criteria andOuterNameBetween(String value1, String value2) {
			addCriterion("OUTER_NAME between", value1, value2, "outerName");
			return this;
		}

		public Criteria andOuterNameNotBetween(String value1, String value2) {
			addCriterion("OUTER_NAME not between", value1, value2, "outerName");
			return this;
		}

		public Criteria andValueIsNull() {
			addCriterion("VALUE is null");
			return this;
		}

		public Criteria andValueIsNotNull() {
			addCriterion("VALUE is not null");
			return this;
		}

		public Criteria andValueEqualTo(String value) {
			addCriterion("VALUE =", value, "value");
			return this;
		}

		public Criteria andValueNotEqualTo(String value) {
			addCriterion("VALUE <>", value, "value");
			return this;
		}

		public Criteria andValueGreaterThan(String value) {
			addCriterion("VALUE >", value, "value");
			return this;
		}

		public Criteria andValueGreaterThanOrEqualTo(String value) {
			addCriterion("VALUE >=", value, "value");
			return this;
		}

		public Criteria andValueLessThan(String value) {
			addCriterion("VALUE <", value, "value");
			return this;
		}

		public Criteria andValueLessThanOrEqualTo(String value) {
			addCriterion("VALUE <=", value, "value");
			return this;
		}

		public Criteria andValueLike(String value) {
			addCriterion("VALUE like", value, "value");
			return this;
		}

		public Criteria andValueNotLike(String value) {
			addCriterion("VALUE not like", value, "value");
			return this;
		}

		public Criteria andValueIn(List values) {
			addCriterion("VALUE in", values, "value");
			return this;
		}

		public Criteria andValueNotIn(List values) {
			addCriterion("VALUE not in", values, "value");
			return this;
		}

		public Criteria andValueBetween(String value1, String value2) {
			addCriterion("VALUE between", value1, value2, "value");
			return this;
		}

		public Criteria andValueNotBetween(String value1, String value2) {
			addCriterion("VALUE not between", value1, value2, "value");
			return this;
		}

		public Criteria andStatusIsNull() {
			addCriterion("STATUS is null");
			return this;
		}

		public Criteria andStatusIsNotNull() {
			addCriterion("STATUS is not null");
			return this;
		}

		public Criteria andStatusEqualTo(String value) {
			addCriterion("STATUS =", value, "status");
			return this;
		}

		public Criteria andStatusNotEqualTo(String value) {
			addCriterion("STATUS <>", value, "status");
			return this;
		}

		public Criteria andStatusGreaterThan(String value) {
			addCriterion("STATUS >", value, "status");
			return this;
		}

		public Criteria andStatusGreaterThanOrEqualTo(String value) {
			addCriterion("STATUS >=", value, "status");
			return this;
		}

		public Criteria andStatusLessThan(String value) {
			addCriterion("STATUS <", value, "status");
			return this;
		}

		public Criteria andStatusLessThanOrEqualTo(String value) {
			addCriterion("STATUS <=", value, "status");
			return this;
		}

		public Criteria andStatusLike(String value) {
			addCriterion("STATUS like", value, "status");
			return this;
		}

		public Criteria andStatusNotLike(String value) {
			addCriterion("STATUS not like", value, "status");
			return this;
		}

		public Criteria andStatusIn(List values) {
			addCriterion("STATUS in", values, "status");
			return this;
		}

		public Criteria andStatusNotIn(List values) {
			addCriterion("STATUS not in", values, "status");
			return this;
		}

		public Criteria andStatusBetween(String value1, String value2) {
			addCriterion("STATUS between", value1, value2, "status");
			return this;
		}

		public Criteria andStatusNotBetween(String value1, String value2) {
			addCriterion("STATUS not between", value1, value2, "status");
			return this;
		}

		public Criteria andMemoIsNull() {
			addCriterion("MEMO is null");
			return this;
		}

		public Criteria andMemoIsNotNull() {
			addCriterion("MEMO is not null");
			return this;
		}

		public Criteria andMemoEqualTo(String value) {
			addCriterion("MEMO =", value, "memo");
			return this;
		}

		public Criteria andMemoNotEqualTo(String value) {
			addCriterion("MEMO <>", value, "memo");
			return this;
		}

		public Criteria andMemoGreaterThan(String value) {
			addCriterion("MEMO >", value, "memo");
			return this;
		}

		public Criteria andMemoGreaterThanOrEqualTo(String value) {
			addCriterion("MEMO >=", value, "memo");
			return this;
		}

		public Criteria andMemoLessThan(String value) {
			addCriterion("MEMO <", value, "memo");
			return this;
		}

		public Criteria andMemoLessThanOrEqualTo(String value) {
			addCriterion("MEMO <=", value, "memo");
			return this;
		}

		public Criteria andMemoLike(String value) {
			addCriterion("MEMO like", value, "memo");
			return this;
		}

		public Criteria andMemoNotLike(String value) {
			addCriterion("MEMO not like", value, "memo");
			return this;
		}

		public Criteria andMemoIn(List values) {
			addCriterion("MEMO in", values, "memo");
			return this;
		}

		public Criteria andMemoNotIn(List values) {
			addCriterion("MEMO not in", values, "memo");
			return this;
		}

		public Criteria andMemoBetween(String value1, String value2) {
			addCriterion("MEMO between", value1, value2, "memo");
			return this;
		}

		public Criteria andMemoNotBetween(String value1, String value2) {
			addCriterion("MEMO not between", value1, value2, "memo");
			return this;
		}
	}
}